package 多线程.多线程同步的5种方法;

import java.util.Date;

/**
 * @date 2017/8/31.
 * @author 廖述京
 */
public class SyncMethod_Bank {
    private int count =0;//账户余额

    //存钱
    public synchronized void addMoney(int money){ //方法被同步关键字修饰，即能保证此方法一次只能被一个线程访问
        count +=money;
        System.out.println(new Date(System.currentTimeMillis()).toLocaleString()+"存进："+money);
    }

    //取钱
    public synchronized void subMoney(int money){
        if(count-money < 0){
            System.out.println("余额不足");
            return;
        }
        count -=money;
        System.out.println(new Date(System.currentTimeMillis()).toLocaleString()+"取出："+money);
    }

    //查询
    public void lookMoney(){
        System.out.println("账户余额："+count);
    }
}
